Amazon S3をIPv6接続で利用してみた
はじめに
AWSチームのすずきです。
東西のNTTが提供するフレッツ回線を利用したインターネット接続、 国内のFTTH(光回線サービス)のシェアを占めますが、インターネット接続を提供するISPの混雑がボトルネックとなり接続速度が低下する事がありました。
今回、ISPのIPv6通信(IPoE方式)オプションを申し込み、IPv6に対応したS3のデュアルスタックエンドポイントで利用した所、S3転送速度の改善を確認できましたので、紹介させていただきます。
環境
Amazon S3
- AWS東京リージョンを利用
- S3のエンドポイント、IPv4用(デフォルト)と、IPv6対応(デュアルスタック)を切替
- IPv4用: s3-ap-northeast-1.amazonaws.com
- IPv4、IPv6兼用: s3.dualstack.ap-northeast-1.amazonaws.com
S3接続環境
ネットワーク
- フレッツ 光ネクスト ファミリータイプ (最大100Mbps)
- ISP: BIGLOBE(神奈川)、フレッツ光 IPv6接続
- 測定時刻: 22時台(JST)
OS、CLIバージョン
- MAC OSX EL Capitan (10.11.6)
- AWS CLI (aws-cli/1.11.80 Python/2.7.10 Darwin/15.6.0 botocore/1.5.43)
検証手順
- ファイル転送の検証用に約100MBのファイルを用意しました。
$ ls -lah Docker.dmg -rw-r--r--@ 1 ###### staff 106M 1 8 17:25 Docker.dmg
- AWS CLIを利用し、GET(ダウンロード)、PUT(アップロード)を、IPv4用とIPv6用(デュアルスタック)のエンドポイントを明示して実施しました。
aws s3 cp s3://#####/Docker.dmg /tmp/ aws s3 cp /tmp/ s3://#####/Docker.dmg
- 「time」コマンドで得られた所要時間から転送速度を求めました。
結果
GET
IPv4
time -p aws s3 cp s3://#####/Docker.dmg /tmp/ \ --region ap-northeast-1 \ --endpoint-url https://s3-ap-northeast-1.amazonaws.com
- 5回測定結果 (realのみ抜粋)
real 56.05 real 38.11 real 44.43 real 44.74 real 42.35
- 平均: 45.14s
- 速度: 2.39MB/s (19.1Mbps)
IPv6
time -p aws s3 cp s3://#####/Docker.dmg /tmp/ \ --region ap-northeast-1 \ --endpoint-url https://s3.dualstack.ap-northeast-1.amazonaws.com
- 測定結果
real 10.88 real 10.80 real 10.81 real 10.74 real 10.83
- 平均: 10.81s
- 速度: 9.99MB/s (79.9Mbps)
PUT
IPv4
time -p aws s3 cp /tmp/Docker.dmg s3://#####/ \ --region ap-northeast-1 \ --endpoint-url https://s3-ap-northeast-1.amazonaws.com
- 測定結果
real 14.23 real 14.55 real 14.45 real 14.48 real 13.81
- 平均: 14.30s
- 速度: 7.55MB/s (60.4Mbps)
IPv6
time -p aws s3 cp /tmp/Docker.dmg s3://#####/ \ --region ap-northeast-1 \ --endpoint-url https://s3.dualstack.ap-northeast-1.amazonaws.com
- 測定結果
real 10.98 real 11.19 real 10.96 real 11.02 real 11.31
- 平均: 11.09s
- 速度: 9.74MB/s (77.9Mbps)
まとめ
今回、IPv6で接続したAmazon S3の転送速度は、ダウンロード、アップロードとも実測値で約80Mbps。 100Mbps回線のワイヤレートに匹敵する転送速度を確認する事ができました。
IPv6とIPv4接続時の転送速度を比較すると、ダウンロードは3.7倍、アップロードは1.3倍、 IPv6接続が優れていた事が確認できました。
計測直後に実施したIPv4接続によるスピードテストの結果は以下の通りでした。
ダウンロードは8.5Mbps、アップロードは47Mbpsと、IPv4接続時のダウンロード速度が大きく低下していた事が、今回の差に繋がったものと予想されます。
IPv6を利用したインターネット接続、標準提供のISPや、ルータが対応済みであれば追加費用のかからないISPも増えています。 フレッツ回線を利用したインターネット接続を利用する環境で、混雑時にS3の転送速度の低下が問題となる場合、IPv6接続が可能であれば、S3のデュアルスタックエンドポイントの利用を是非お試しください。
参考情報
参考リンク
ネットワーク情報
- 計測に利用した環境からS3へのICMP、Ping、Tracerouteの実行結果は以下の通りでした。
Ping
- 3秒毎、5分間、100回の応答を測定
v4
$ ping -c 100 -i 3 s3-ap-northeast-1.amazonaws.com PING s3-ap-northeast-1.amazonaws.com (52.219.0.16): 56 data bytes 64 bytes from 52.219.0.16: icmp_seq=0 ttl=51 time=12.564 ms 64 bytes from 52.219.0.16: icmp_seq=1 ttl=51 time=21.247 ms <略> 64 bytes from 52.219.0.16: icmp_seq=98 ttl=51 time=24.211 ms 64 bytes from 52.219.0.16: icmp_seq=99 ttl=51 time=10.478 ms --- s3-ap-northeast-1.amazonaws.com ping statistics --- 100 packets transmitted, 98 packets received, 2.0% packet loss round-trip min/avg/max/stddev = 10.187/16.800/31.671/5.917 ms
v6
$ ping6 -c 100 -i 3 s3.dualstack.ap-northeast-1.amazonaws.com PING6(56=40+8+8 bytes) ####:##:####::####::####::####::####::####: --> 2406:daa0:4060:d0:34db:443:: 16 bytes from 2406:daa0:4060:d0:34db:443::, icmp_seq=0 hlim=49 time=6.115 ms 16 bytes from 2406:daa0:4060:d0:34db:443::, icmp_seq=1 hlim=49 time=5.925 ms <略> 16 bytes from 2406:daa0:4060:d0:34db:443::, icmp_seq=98 hlim=49 time=6.202 ms 16 bytes from 2406:daa0:4060:d0:34db:443::, icmp_seq=99 hlim=49 time=5.706 ms --- s3.dualstack.ap-northeast-1.amazonaws.com ping6 statistics --- 100 packets transmitted, 100 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 5.525/5.893/8.193/0.300 ms
Traceroute
v4
$ traceroute s3-ap-northeast-1.amazonaws.com traceroute to s3-ap-northeast-1.amazonaws.com (52.219.0.8), 64 hops max, 52 byte packets 1 ###.###.###.### (###.###.###.###) 0.565 ms 0.192 ms 0.202 ms 2 * * * 3 210.147.215.135 (210.147.215.135) 6.979 ms 8.103 ms 5.092 ms 4 210.147.215.158 (210.147.215.158) 8.526 ms 11.563 ms 7.591 ms 5 133.205.60.38 (133.205.60.38) 24.897 ms 22.559 ms 14.685 ms 6 133.208.191.144 (133.208.191.144) 14.497 ms 16.466 ms 14.612 ms 7 210.173.176.188 (210.173.176.188) 22.822 ms 19.820 ms 17.236 ms 8 52.95.30.181 (52.95.30.181) 24.952 ms 52.95.30.169 (52.95.30.169) 82.757 ms 52.95.30.179 (52.95.30.179) 27.749 ms 9 52.95.30.78 (52.95.30.78) 19.334 ms 52.95.30.84 (52.95.30.84) 22.702 ms 52.95.30.74 (52.95.30.74) 18.339 ms 10 27.0.0.152 (27.0.0.152) 23.388 ms 14.649 ms 11.713 ms 11 * * * 12 * * * 13 * * * 14 * * * 15 52.219.0.8 (52.219.0.8) 24.078 ms 11.009 ms 20.287 ms
v6
$ traceroute6 s3.dualstack.ap-northeast-1.amazonaws.com traceroute6 to s3.dualstack.ap-northeast-1.amazonaws.com (2406:daa0:4040:141:34db:447f::) from ####:##:####:####:####:####:####:####, 64 hops max, 12 byte packets 1 ####:##:####:####::#### 1.778 ms 1.217 ms 1.104 ms 2 * * * 3 * * * 4 2404:9200:225:c::1 4.467 ms 3.983 ms 4.002 ms 5 2001:268:fa00:29d::1 6.100 ms 2001:268:fa00:29c::1 5.211 ms 5.438 ms 6 2001:268:fa00:28c::2 3.981 ms 4.564 ms 2001:268:fa00:27f::2 4.529 ms 7 6jc-ote301.int-gw.kddi.ne.jp 4.589 ms 4.670 ms 4.585 ms 8 2001:268:f702:d1::2 4.903 ms 5.164 ms 4.741 ms 9 2400:6500:0:1::19 8.595 ms 2400:6500:0:1::1d 7.186 ms 16.523 ms 10 2400:6700::11 6.080 ms 6.289 ms 5.883 ms 11 2400:6500:0:1::33 6.436 ms 6.425 ms 2400:6500:0:1::32 5.949 ms 12 2400:6500::4104:8000:0:6440:10b2 7.253 ms 2400:6500::4104:8000:0:6440:1162 11.942 ms 2400:6500::4104:8000:0:6440:1140 9.974 ms 13 2400:6500:0:4104::6440:c499 15.005 ms 2400:6500:0:4104::6440:c48f 47.806 ms 2400:6500:0:4104::6440:c48b 8.910 ms 14 2400:6500:0:4104::6440:c484 14.772 ms 2400:6500:0:4104::6440:c485 8.572 ms 2400:6500:0:4104::6440:c484 13.045 ms 15 2400:6500::4104:8000:0:6440:1553 14.298 ms 2400:6500::4104:8000:0:6440:14d3 8.840 ms 2400:6500::4104:8000:0:6440:15d3 8.449 ms 16 2406:daa0:4040:141:34db:447f:: 5.872 ms 6.054 ms 5.751 ms